// pages/shoplist/shoplist.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    query:{},
    shopList:[],
    page:1,    //当前页 
    pagesize:10,  //每页条数
    total:0   //总条数
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      query:options
    })
    this.getShopList()
  },

  // 根据传递过来的分类id获取数据列表
  getShopList(cb){
    // 展示loading效果
    wx.showLoading({
      title: '数据加载中',
    })
     wx.request({
       url: `https://www.escook.cn/categories/${this.data.query.id}/shops`,
       method:'GET',
       data:{
        _page:this.data.page,
        _limit:this.data.pagesize
       },
       success:(res)=>{
          console.log(res)
          this.setData({
            // 前面的数据  和该次获取到数据要进行合并
            shopList:[...this.data.shopList,...res.data],
            total:res.header['X-Total-Count']-0
          })
       },
       complete:()=>{

        // 隐藏loading
        wx.hideLoading()
        // 关闭下拉刷新
         cb&&cb()
       }
     })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    // 设置页面导航标题
    wx.setNavigationBarTitle({
      title: this.data.query.title,
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    //  重置数据
    this.setData({
      page:1,
      shopList:[],
      total:0
    })
    // 重新发起数据请求  同时数据请求完成关闭下拉刷新
    this.getShopList(()=>{
      wx.stopPullDownRefresh()
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 提示没有数据了
    if(this.data.page*this.data.pagesize>=this.data.total){
      // 
      return wx.showToast({
        title:"数据加载完毕",
        icon:"none"
      })
    }


    // 页码值+1
    this.setData({
      page:this.data.page+1
    })
    // 获取下一页数据
    this.getShopList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})